草庐IT

Android Drawable.createFromStream 分配了太多内存

全部标签

javascript - 通过页面重新加载诊断内存泄漏

我怀疑我的单页javascript应用程序某处存在内存泄漏。如果页面保持打开状态,运行Firefox或Chrome的弱设备似乎最终会崩溃。我正在尝试确定重新加载页面是否会释放内存。我知道内存处理是特定于浏览器的,因此在Chrome或Firefox中答案可能不同。注意:我知道在这个问题中提到了很多浏览器(这可能是题外话),但这个问题的重点是关于javascript调试,我认为这是非常切题的。 最佳答案 除了浏览器/扩展错误,浏览器会在不再需要时释放资源;Firefox清除compartments,Chrome杀processes和相关

javascript - 使用 document.createElement 创建的元素是否保留在内存中?

你好,我正在慢慢做一个chrome扩展,我需要解析一些包含html实体的数据,我需要解码它。我在这里的一个答案中看到我可以为它使用document.createElement,所以我这样做了:htmlDecode:function(input){if(/[]/.test(input)){//Toavoidcreatingtagslike:sreturn"InvalidInput";}vare=document.createElement('div');e.innerHTML=input;returne.childNodes.length===0?"":e.childNodes[0].n

javascript - 如何改进(消除太多标记?)JavaScript 中的慢正则表达式?

我有在冒号前加粗部分行的功能。//Fastregex(time:0)varcolonRegex=/^[^*:\n]+:/gm;和//Slowregex(time:139)Limitby10words//varcolonRegex=/^([^*:\n]+?){1,10}:/gm;//IhaveissuewithitwhenIwanttoapplyreplacetotensofdivs(itfreezeschrome)varbolded=str.replace(colonRegex,function(match){return""+match+"";});你可以在jsfiddle上测试它:

javascript - 如何分析我的 Node 应用程序以查看我在哪里用完了内存和 CPU 资源?

我的网站,CompassionPit.com,由Node.js提供支持。我已经发布了源代码;这是hostedatGitHub.该应用程序本身在具有768MBRAM的Linode上运行(我最近升级了服务器;它是512MB)。最近我收到了来自Linode的CPU使用率通知:我们的使用率越来越频繁地达到90%以上。我调用Linode看看我能做些什么来升级我对CPU资源的访问,但显然我现在还好,因为如果我们最大限度地达到100%,那么我们可以溢出到下一个3个内核(Linode是4个处理器Xen实例)。我如何分析我的Node应用程序以查看我在哪里用完了内存和CPU资源?我预计我很快将需要重组应用

javascript - 使用 Javascript 在不将所有内容加载到内存的情况下从大型 CSV 文件读取的最佳方法

我正在使用Atom/Electron构建一个应用程序,该应用程序具有基于数据的视频可视化效果。每个视频都有一个对应的CSV文件,其中包含每一帧的信息。视频大约100分钟,所以文件有很多数据!我遇到的问题是加载和解析文件需要几秒钟的时间。大多数时候这不是问题。但是我需要制作部分视频的播放列表,每次更改视频时加载整个CSV文件不是一个可行的选择。我一直在寻找文件流选项作为fast-csv,但我没有设法开始读取文件的任意部分。编辑:来自FS文档。在这种情况下,问题是我如何知道文件中哪个字节对应于我想要的位置?optionscanincludestartandendvaluestoreadar

javascript - 一种客观的方法来衡量 JavaScript 中不同继承模式的内存/速度?

我经常看到经典(通过某些库伪造)、伪经典和原型(prototype)继承之间的争论提到“效率”。但是,我从未见过任何数据支持此类内容。更不用说“效率”在涉及编码风格而不是算法时似乎是一个模棱两可的词。我想做一些测试来对其中一些模式和库进行“基准测试”。这似乎与我过去见过的大多数算法或显示基准明显不同。你们认为需要测试的重要内容是什么,可靠地获得这些数字的最佳方法是什么。我目前的想法:实例化速度(创建几千个对象的时间使用相同的每个模式功能)内存使用情况(我能想到的唯一方法是查看我在任务管理器...有没有更好的方式)访问内部属性和方法的速度(迭代再次计时)复制速度(迭代时间)代码行数(同行

javascript - addEventListener 内存泄漏

通过addEventListener注册事件时在一个元素上,然后在不删除事件的情况下删除该元素,并反复这样做,内存会“泄漏”吗? 最佳答案 它不应该泄漏。当事件处理程序导致主机对象JS对象循环时,一个臭名昭著的浏览器是IE(最高版本7),而IE(最高版本8)不支持addEventListener.如果您想在特定浏览器中对其进行测试,请让它继续运行并查看浏览器的内存使用量在长期内受到的影响。functionreplace(){varx=document.getElementById('x');if(x.firstChild!==nul

javascript - 为什么不能重新分配函数表达式的名称?

为什么下面的代码片段会抛出错误?"usestrict";(functiona(){console.log(typeofa);//functionconsole.log(a=0);//error})();为什么这个片段没有抛出错误?"usestrict";(function(){functiona(){console.log(a=0);//0}returna;})()();为什么立即返回函数会抛出错误?"usestrict";(function(){returnfunctiona(){console.log(a=0);//error};})()();函数表达式是唯一会发生这种情况的情况吗

javascript - 使用 this/self 引用的 javascript 闭包会导致内存泄漏吗?

根据我对内存泄漏的理解,在闭包中引用范围外的var会导致内存泄漏。但创建“that”var以保留“this”引用并在闭包中使用它也是一种常见的做法,尤其是对于事件。那么,做这样的事情有什么用:SomeObject.prototype.createImage=function(){varthat=this,someImage=newImage();someImage.src='someImage.png';someImage.onload=function(){that.callbackImage(this);}};这不会给项目增加一点漏洞吗? 最佳答案

javascript - 分配一个新的字符串值会产生需要收集的垃圾吗?

考虑这个javascript代码:vars="Somestring";s="Morestring";垃圾收集器(GC)在这种操作之后是否还有工作要做?(我想知道在尝试最小化GC暂停时是否应该担心分配字符串文字。)e:让我觉得有点好笑的是,虽然我在问题中明确指出我需要尽量减少GC,但每个人都认为我错了。如果真的必须知道特定的细节:我有一个javascript游戏——它在Chrome中运行良好,但在Firefox中有半频繁的暂停,这似乎是由于GC。(我什至检查过Firefox的MemChaser扩展,暂停与垃圾收集完全一致。) 最佳答案